/** @file admm_sub_problem_solver.h
 *
 *  Abstract class for the ADMM sub problem solver.
 *
 *  @author Dongryeol Lee (dongryel@cc.gatech.edu)
 */

#ifndef MLPACK_ADMM_ADMM_SUB_PROBLEM_SOLVER_H
#define MLPACK_ADMM_ADMM_SUB_PROBLEM_SOLVER_H

#include "mlpack/admm/admm_result.h"
#include "mlpack/admm/admm_arguments.h"

namespace mlpack {
namespace admm {

class ADMMSubProblemSolver {
  public:

    virtual void Solve(
      const mlpack::admm::ADMMArguments &arguments_in,
      mlpack::admm::ADMMResult *result_out) const = 0;

    virtual ~ADMMSubProblemSolver() {
    }
};
}
}

#endif
